From 52b65ec0597839b49f08ea5d8aee8e85ceebe1b0 Mon Sep 17 00:00:00 2001 From: oliskoli Date: Tue, 21 Nov 2006 21:12:37 +0000 Subject: [PATCH] Add workaround for zlib bug "gzread buffer error on empty files". git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@2524 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/gbfile.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gpsbabel/gbfile.c b/gpsbabel/gbfile.c index bc5505550..0916f63d0 100644 --- a/gpsbabel/gbfile.c +++ b/gpsbabel/gbfile.c @@ -228,6 +228,11 @@ gbfread(void *buf, const gbsize_t size, const gbsize_t members, gbfile *file) const char *errtxt; errtxt = gzerror(file->handle.gz, &errnum); + + /* Workaround for zlib bug: buffer error on empty files */ + if ((errnum == Z_BUF_ERROR) && (gztell(file->handle.gz) == 0)) { + return (gbsize_t) 0; + } if ((errnum != Z_STREAM_END) && (errnum != 0)) fatal("%s: zlib returned error %d ('%s')!\n", file->module, errnum, errtxt); -- 2.30.2